/**
 * 
 */
package com.swim.recruitment.entity;

import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 岗位Entity
 * @author ljw
 * @version 2023-05-30
 */
@Table(name="t_position", alias="a", columns={
		@Column(name="id", attrName="id", label="唯一标识", isPK=true),
		@Column(name="natatorium_info_id", attrName="natatoriumInfoId", label="游泳馆id"),
		@Column(name="natatorium_name", attrName="natatoriumName", label="游泳馆名称", queryType=QueryType.LIKE),
		@Column(name="post_type", attrName="postType", label="职位类型", queryType=QueryType.EQ),
		@Column(name="post_name", attrName="postName", label="职位名称", queryType=QueryType.LIKE),
		@Column(name="post_tag", attrName="postTag", label="职位标签", comment="职位标签（多个用逗号分隔）"),
		@Column(name="city", attrName="city", label="城市"),
		@Column(name="area", attrName="area", label="区县"),
		@Column(name="salary_min", attrName="salaryMin", label="最小薪资"),
		@Column(name="salary_max", attrName="salaryMax", label="最大薪资"),
		@Column(name="post_describe", attrName="postDescribe", label="职位描述", comment="职位描述（多个用逗号分隔）"),
		@Column(name="work_duty", attrName="workDuty", label="工作职责"),
		@Column(name="qualification", attrName="qualification", label="任职资格"),
		@Column(name="post_welfare", attrName="postWelfare", label="职位福利", comment="职位福利（多个用逗号分隔）"),
		@Column(name="mobile", attrName="mobile", label="手机号"),
		@Column(name="work_address", attrName="workAddress", label="工作地址"),
		@Column(includeEntity=DataEntity.class),
	}, orderBy="a.update_date DESC"
)
public class Position extends DataEntity<Position> {
	
	private static final long serialVersionUID = 1L;
	private String natatoriumInfoId;		// 游泳馆id
	private String natatoriumName;		// 游泳馆名称
	private String postType;		// 职位类型
	private String postName;		// 职位名称
	private String postTag;		// 职位标签（多个用逗号分隔）
	private String city;		// 城市
	private String area;		// 区县
	private String salaryMin;		// 最小薪资
	private String salaryMax;		// 最大薪资
	private String postDescribe;		// 职位描述（多个用逗号分隔）
	private String workDuty;		// 工作职责
	private String qualification;		// 任职资格
	private String postWelfare;		// 职位福利（多个用逗号分隔）
	private String mobile;		// 手机号
	private String workAddress;		// 工作地址
	
	public Position() {
		this(null);
	}

	public Position(String id){
		super(id);
	}
	
	public String getNatatoriumInfoId() {
		return natatoriumInfoId;
	}

	public void setNatatoriumInfoId(String natatoriumInfoId) {
		this.natatoriumInfoId = natatoriumInfoId;
	}
	
	public String getNatatoriumName() {
		return natatoriumName;
	}

	public void setNatatoriumName(String natatoriumName) {
		this.natatoriumName = natatoriumName;
	}
	
	public String getPostType() {
		return postType;
	}

	public void setPostType(String postType) {
		this.postType = postType;
	}

	@NotBlank(message="职位名称不能为空")
	@Length(min=0, max=20, message="职位名称长度不能超过 20 个字符")
	public String getPostName() {
		return postName;
	}

	public void setPostName(String postName) {
		this.postName = postName;
	}
	
	@NotBlank(message="职位标签不能为空")
	@Length(min=0, max=200, message="职位标签长度不能超过 200 个字符")
	public String getPostTag() {
		return postTag;
	}

	public void setPostTag(String postTag) {
		this.postTag = postTag;
	}
	
	@NotBlank(message="城市不能为空")
	@Length(min=0, max=20, message="城市长度不能超过 20 个字符")
	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}
	
	@NotBlank(message="区县不能为空")
	@Length(min=0, max=20, message="区县长度不能超过 20 个字符")
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}
	
	@NotBlank(message="最小薪资不能为空")
	@Length(min=0, max=10, message="最小薪资长度不能超过 10 个字符")
	public String getSalaryMin() {
		return salaryMin;
	}

	public void setSalaryMin(String salaryMin) {
		this.salaryMin = salaryMin;
	}
	
	@NotBlank(message="最大薪资不能为空")
	@Length(min=0, max=10, message="最大薪资长度不能超过 10 个字符")
	public String getSalaryMax() {
		return salaryMax;
	}

	public void setSalaryMax(String salaryMax) {
		this.salaryMax = salaryMax;
	}
	
	@NotBlank(message="职位描述不能为空")
	@Length(min=0, max=200, message="职位描述长度不能超过 200 个字符")
	public String getPostDescribe() {
		return postDescribe;
	}

	public void setPostDescribe(String postDescribe) {
		this.postDescribe = postDescribe;
	}
	
	@NotBlank(message="工作职责不能为空")
	@Length(min=0, max=500, message="工作职责长度不能超过 500 个字符")
	public String getWorkDuty() {
		return workDuty;
	}

	public void setWorkDuty(String workDuty) {
		this.workDuty = workDuty;
	}
	
	@NotBlank(message="任职资格不能为空")
	@Length(min=0, max=500, message="任职资格长度不能超过 500 个字符")
	public String getQualification() {
		return qualification;
	}

	public void setQualification(String qualification) {
		this.qualification = qualification;
	}
	
	@NotBlank(message="职位福利不能为空")
	@Length(min=0, max=200, message="职位福利长度不能超过 200 个字符")
	public String getPostWelfare() {
		return postWelfare;
	}

	public void setPostWelfare(String postWelfare) {
		this.postWelfare = postWelfare;
	}
	
	@NotBlank(message="手机号不能为空")
	@Length(min=0, max=11, message="手机号长度不能超过 11 个字符")
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	
	@NotBlank(message="工作地址不能为空")
	@Length(min=0, max=150, message="工作地址长度不能超过 150 个字符")
	public String getWorkAddress() {
		return workAddress;
	}

	public void setWorkAddress(String workAddress) {
		this.workAddress = workAddress;
	}
	
}